package com.yangleping.dynamic.thread.pool.sdk.domain;

import com.yangleping.dynamic.thread.pool.sdk.domain.model.ThreadPoolConfigEntity;

import java.util.List;

/**
 * 动态线程池服务接口，提供线程池配置的查询和更新功能
 */
public interface IDynamicThreadPoolService {

    /**
     * 查询所有线程池的配置信息
     *
     * @return 线程池配置实体列表，包含所有线程池的详细配置信息
     */
    List<ThreadPoolConfigEntity> queryThreadPoolList();

    /**
     * 根据线程池名称查询线程池配置信息
     *
     * @param threadPoolName 线程池名称，用于唯一标识一个线程池
     * @return 线程池配置实体，包含指定线程池的详细配置信息
     */
    ThreadPoolConfigEntity queryThreadPoolConfigByName(String threadPoolName);

    /**
     * 更新线程池的配置信息此方法允许通过传递线程池配置实体来修改线程池的设置
     *
     * @param threadPoolConfigEntity 线程池配置实体，包含待更新的线程池配置信息
     */
    void updateThreadPoolConfig(ThreadPoolConfigEntity threadPoolConfigEntity);

}

